﻿//大漠对象模块 示例
//简单的基础功能调用示例
//某些说明比较长的高级接口,请自行查看大漠接口说明文档
//炫语言的封装模块,默认支持中英双语,本模块内所有函数英文版本与大漠接口文档一致

//用线程调用信息框做窗口绑定测试......懒得做窗口
#外部类型 DWORD
函数 DWORD WINAPI thread_test(void* data)
	系统消息框(0, "大漠绑定测试", "测试窗口标题ABCD", 0)
	延时(999999)
	返回(0)

//大漠对象 大漠
函数 整型 入口函数()
	//申明大漠对象
	大漠对象 大漠

	//使用免系统注册方式调用,系统已注册大漠或已免注册后二次创建对象可直接无参调用  初始化()
	//此方式会使用指定"dm.dll"的插件版本,免注册出错会获取到系统已注册的大漠插件
	//如果免注册失败, 请手动注册"代码.dll"
	大漠.注册(取运行目录() + "\\DmReg.dll", 取运行目录() + "\\dm.dll")
	大漠.初始化对象()

	//判断大漠插件是否加载成功
	如果(! 大漠.初始化状态) 
		调试输出("大漠初始化失败!!")
		返回(0)

	//获取大漠插件版本号
	文本型 大漠版本 = 大漠.基本_取版本号()
	调试输出("大漠插件版本: " + 大漠版本)

	//判断版本号为 6.1544 使用网上公开的破解方式,仅供参考测试,有能力的请付费支持大漠作者
	//使用函数 取模块句柄() 需选择加载模块 系统API
	如果(大漠版本 == "6.1544")
		//修改过插件名称的自行更改 "dm.dll" 
		HMODULE hModule = 取模块句柄("dm.dll")
		if(hModule)
			//这里使用的是十进制寻址
			//炫语言支持自动转换十六进制,寻址可使用 "hModule + 0x123ABC"
			*((char *)hModule + 1086864) = 1
			*((char *)hModule + 1086868) = 1
			*((char *)hModule + 1087396) = 1
			*((char *)hModule + 1087444) = 1
			调试输出("大漠插件6.1544破解执行完成!")
	
	//测试大漠窗口绑定 
	//创建线程,载入信息框 依赖模块 系统API 
	关闭句柄(A线程_创建(thread_test, 0, 0))
	
	//等待信息框完全显示
	延时(1000)
	//查找窗口示例里就不用大漠的窗口操作,虽然也封装了,但不是很方便.建议用系统API,通用性强
	整型 窗口句柄 = (整型)FindWindow("#32770", "测试窗口标题ABCD")
	如果 窗口句柄  //偷懒小技巧,非0即真(负数也是真哟)
		整型 状态 = 大漠.后台_绑定窗口((整型)窗口句柄, "normal", "normal", "normal", 0)
		调试输出("窗口绑定状态: ", 状态)
		如果 状态
			大漠.窗口_移动(窗口句柄, 300, 0)
			大漠.窗口_置大小(窗口句柄, 400, 200)
			大漠.窗口_置标题(窗口句柄, "新窗口标题-修改成功")

		大漠.鼠标_移动(100,100)//如果绑定窗口成功是移动到窗口内坐标,否则是屏幕坐标

	//示例就简单完成了,有问题在群里交流反馈哈..
	系统消息框(0, "大漠模块示例完成", "提示", 0)
	返回 0